package com.whfc.emp.dao;

import com.whfc.emp.entity.AppEmpWorkPlanWarn;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 工作计划报警视图Mapper接口
 */
public interface AppEmpWorkPlanWarnMapper {
    
    /**
     * 查询所有工作计划报警记录
     */
    List<AppEmpWorkPlanWarn> selectAll();
    
    /**
     * 根据工作计划ID查询报警记录
     */
    List<AppEmpWorkPlanWarn> selectByPlanId(@Param("planId") Integer planId);
    
    /**
     * 根据监理ID查询报警记录
     */
    List<AppEmpWorkPlanWarn> selectByGuardianId(@Param("guardianId") String guardianId);
    
    /**
     * 根据报警规则ID查询记录
     */
    List<AppEmpWorkPlanWarn> selectByRuleId(@Param("ruleId") Integer ruleId);
    
    /**
     * 根据触发对象ID查询记录
     */
    List<AppEmpWorkPlanWarn> selectByTriggerObjectId(@Param("triggerObjectId") Integer triggerObjectId);
    
    /**
     * 查询当前有效的计划报警记录
     */
    List<AppEmpWorkPlanWarn> selectCurrentValidPlans();
    
    /**
     * 查询包含多个监理的工作计划报警记录
     */
    List<AppEmpWorkPlanWarn> selectPlansWithMultipleGuardians();
    
    /**
     * 根据规则类型查询报警记录
     */
    List<AppEmpWorkPlanWarn> selectByRuleType(@Param("ruleType") Integer ruleType);
}